This invention is in the field of computer graphic displays. It is typical in computer graphic displays to employ a bit map to designate the display generated. A bit map is a portion of computer memory having one or more bits of storage allocated to each pixel or picture element of the display. The number of bits allocated to each pixel depends upon the number of allowable colors. A monochrome display, which permits only black and white images, needs only one bit per pixel. A display permitting 256 different colors needs eight bits per pixel. Because typical computer graphic displays employ a rectangular grid of pixels, bit maps are often similarly organized. A single horizontal line of the display or of the bit map is called a scan line. This refers to the conventional manner of rendering computer graphic displays via scanning horizontal lines in a cathode ray tube.
Many computer graphic displays such as are used in desk top computers, home and arcade video games and engineering workstations render the display via a frame buffer. A frame buffer is a bit map which is accessible by both the central processor and by the display hardware. The central processor accesses the bit map to specify the display rendered and possibly to determine the current value of one or more pixels. Special purpose display hardware reads the bit map, converts the data for each pixel into an indication of the color to be displayed, and controls the color rendered by the display. This rendering process often uses a mapping table to translate the bits for each pixel into a color or shade. This mapping table may be fixed, or it may be under the control of the central processor. Often the number of memory bits used for each pixel is under the control of the central processor. This process operates in synchronism with the scan of the color cathode ray tube. Thus the special purpose display hardware creates an image corresponding to the data stored in the frame buffer. It is conventional to grant the special purpose display hardware priority in accessing the bit map. This prevents visual anomalies in the display caused by changing the bits corresponding to a particular pixel while that pixel is being displayed.
To display an image using this technique, the corresponding pattern of data bits must be placed into the frame buffer. Generally, the process starts from a high-level description of the image. This high-level description is then rendered into the frame buffer by software or specialized hardware that places the corresponding pattern of data in the frame buffer. The special purpose display hardware reads the frame buffer and controls the display accordingly. Display of an animated image starts from a new high-level description or updated high-level description for each frame of the animation. Each high-level description is rendered into the frame buffer in turn.
This process can be very slow. The rendering process is time-consuming. First, the display has priority. This reduces the time available to the central processor for writing into the frame buffer. Second, the frame buffer is often connected to the central processor via a relatively slow system bus rather than the direct access accorded the main memory. Third, there is simply a lot of data required to specify an entire frame of the computer display, particularly if color is involved. In the case of animation, generally either the moving objects are small, movements are slow or some jerkiness is involved.
There is a need in the art to provide a manner of specifying and updating computer displays, particularly color displays. A major field of work in this area is the development of efficient rendering techniques in either software or hardware. It would be very useful to provide a manner of improved rendering of computer graphic displays.